<!DOCTYPE html>
<html>

<head>
    <meta charset="utf-8">
    <title>咨询服务系统</title>
    <!--公用样式-->
    <link rel="stylesheet" type="text/css" href="${re.contextPath}/plugin/common/css/comment.css"/>
    <!--页面样式-->
    <link rel="stylesheet" type="text/css" href="${re.contextPath}/plugin/common/css/style.css"/>
    <!--Layui-->
    <link rel="stylesheet" href="${re.contextPath}/plugin/layui/css/layui.css" media="all"/>
    <#--    <link rel="stylesheet" type="text/css" href="${re.contextPath}/plugin/common/css/layui.css"/>-->
    <!--页面样式-->
    <link rel="stylesheet" type="text/css" href="${re.contextPath}/plugin/common/css/extended.css"/>
    <!--JQ-->
    <script type="text/javascript" charset="utf-8"
            src="${re.contextPath}/plugin/common/js/jquery-1.8.3.min.js"></script>
    <!--Layui-->
    <script type="text/javascript" src="${re.contextPath}/plugin/layui/layui.all.js" charset="utf-8"></script>
    <!--公用样式JS-->
    <script type="text/javascript" charset="utf-8" src="${re.contextPath}/plugin/common/js/comment.js"></script>
    <!--进度条-->
    <style>
        .layui-table-cell {
            height: 50px;
            line-height: 50px;
        }
    </style>
</head>

<body>

<!--容器-->
<div class="container clearfix">
    <div class="Right fr mt50" style="width: 100%">
        <!--评价-->
        <div class="evaluationBox whitebg">
            <div class="layui-tab layui-tab-brief" lay-filter="docDemoTabBrief">
                <ul class="layui-tab-title">
                    <li class="layui-this" tablefilter="tab_eval">全部</li>
                    <li tablefilter="tab_eval2">待评价</li>
                    <li tablefilter="tab_eval3">已评价</li>
                </ul>
                <div class="layui-tab-content">
                    <div class="layui-tab-item layui-show">
                        <table class="layui-hide" type="button" id="tab_eval" lay-filter="allEval"
                               data-type="getCheckData1"></table>
                    </div>
                    <div class="layui-tab-item layui-show">
                        <table class="layui-hide" type="button" id="tab_eval2" lay-filter="uEval"
                               data-type="getCheckData3"></table>
                    </div>
                    <div class="layui-tab-item layui-show">
                        <table class="layui-hide" type="button" id="tab_eval3" lay-filter="eval"
                               data-type="getCheckData2"></table>
                    </div>
                </div>
            </div>
        </div>
    </div>
</div>

<!-- 去评价 -->
<form class="layui-form" id="test" style="display:none">
    <div class="layui-form-item">
        <label class="layui-form-label">项目名称</label>
        <div class="layui-input-block">
            <input type="spName" name="spName" required lay-verify="required" placeholder="请输入名称" autocomplete="on"
                   class="layui-input" id="entryName" style="width:100px">
        </div>
    </div>
    <div class="layui-form-item">
        <label class="layui-form-label">评分</label>
        <div class="layui-input-inline">
            <input type="speLevel" name="speLevel" required lay-verify="required" placeholder="请输入分值" autocomplete="on"
                   class="layui-input">
        </div>
        <div class="layui-form-mid layui-word-aux">所填分值为1~100之间</div>
    </div>
    <div class="layui-form-item layui-form-text">
        <label class="layui-form-label">评分原因</label>
        <div class="layui-input-block">
            <textarea lay-verify="speReason" name="speReason" placeholder="请输入内容" class="layui-textarea"></textarea>
        </div>
    </div>
    <div class="layui-form-item">
        <div class="layui-input-block">
            <button type="button" class="layui-btn layui-btn-normal">提交</button>
        </div>
    </div>

</form>

<script type="text/html" id="barDemo">
    {{#  if(d.source == '001'){ }}
        <!--如果resource是 '001'  平台分配的账号类型   就是正中的人发布的项目   分两行  实施和市场-->
        {{#  if(d.aindex == '1'){ }}
        <!--关于实施人员   监理项目经理-->
        {{#  if(d.evaManagerId != null){ }}
            {{#  if(d.projectSource == '001'){ }}
            <span class="layui-btn layui-btn-primary" lay-event="edit2">查看项目评价</span>
            {{#  } else { }}
            <span class="layui-btn layui-btn-primary" lay-event="edit2">查看实施评价</span>
            {{#  } }}
        {{#  } else { }}
            {{#  if(d.projectSource == '001'){ }}
            <span class="layui-btn layui-btn-normal btn-eva" lay-event="edit3">项目评价</span>
            {{#  } else { }}
            <span class="layui-btn layui-btn-normal btn-eva" lay-event="edit3">评价实施人员</span>
            {{#  } }}
        {{#  } }}
        {{#  } else { }}
            <!--关于市场人员   需方项目发布人-->
            {{#  if(d.evaCreaterId != null){ }}
            <span class="layui-btn layui-btn-primary" lay-event="edit2">查看市场评价</span>
            {{#  } else { }}
            <span class="layui-btn layui-btn-normal btn-eva" lay-event="edit3">评价市场人员</span>
            {{#  } }}
        {{#  } }}
        {{#  } else { }}
        <!--如果resource是 '003' 代表是自行注册的账号   或者是后生成的账号经过完善资料的账号,总之就是第三方的  统称外部机构   这种情况只显示一行,只显示一个供方就可以了-->
    {{#  if(d.source == '003'){ }}
        {{#  if(d.evaManagerId != null){ }}
        <span class="layui-btn layui-btn-primary" lay-event="edit2">查看供方评价</span>
        {{#  } else { }}
        <span class="layui-btn layui-btn-normal btn-eva" lay-event="edit3">评价供方</span>
        {{#  } }}
    {{#  } else { }}
    {{#  } }}
    {{#  } }}
</script>
<script type="text/html" id="barDemo2">
    {{#  if(d.source == '001'){ }}
    <!--如果resource是 '001'  平台分配的账号类型   就是正中的人发布的项目   分两行  实施和市场-->
    {{#  if(d.aindex == '1'){ }}
        <!--关于实施人员   监理项目经理-->
        {{#  if(d.evaManagerId != null){ }}

            {{#  if(d.projectSource == '001'){ }}
            <span class="layui-btn layui-btn-primary" lay-event="edit2">查看项目评价</span>
            {{#  } else { }}
            <span class="layui-btn layui-btn-primary" lay-event="edit2">查看实施评价</span>
            {{#  } }}

        {{#  } else { }}

            {{#  if(d.projectSource == '001'){ }}
            <span class="layui-btn layui-btn-normal btn-eva" lay-event="edit3">项目评价</span>
            {{#  } else { }}
            <span class="layui-btn layui-btn-normal btn-eva" lay-event="edit3">评价实施人员</span>
            {{#  } }}

        {{#  } }}
    {{#  } else { }}
        <!--关于市场人员   需方项目发布人-->
        {{#  if(d.evaCreaterId != null){ }}
        <span class="layui-btn layui-btn-primary" lay-event="edit2">查看市场评价</span>
        {{#  } else { }}
        <span class="layui-btn layui-btn-normal btn-eva" lay-event="edit3">评价市场人员</span>
        {{#  } }}
    {{#  } }}
    {{#  } else { }}
    <!--如果resource是 '003' 代表是自行注册的账号   或者是创建项目后生成的账号经过完善资料的账号,总之就是第三方的  统称外部机构   这种情况只显示一行,只显示一个供方就可以了-->
    {{#  if(d.source == '003'){ }}
    {{#  if(d.evaManagerId != null){ }}
    <span class="layui-btn layui-btn-primary" lay-event="edit2">查看供方评价</span>
    {{#  } else { }}
    <span class="layui-btn layui-btn-normal btn-eva" lay-event="edit3">评价供方</span>
    {{#  } }}
    {{#  } else { }}
    {{#  } }}
    {{#  } }}
</script>
<script type="text/html" id="barDemo3">
    {{#  if(d.source == '001'){ }}
    <!--如果resource是 '001'  平台分配的账号类型   就是正中的人发布的项目   分两行  实施和市场-->
    {{#  if(d.aindex == '1'){ }}
        <!--关于实施人员   监理项目经理-->
        {{#  if(d.evaManagerId != null){ }}

            {{#  if(d.projectSource == '001'){ }}
            <span class="layui-btn layui-btn-primary" lay-event="edit2">查看项目评价</span>
            {{#  } else { }}
            <span class="layui-btn layui-btn-primary" lay-event="edit2">查看实施评价</span>
            {{#  } }}

        {{#  } else { }}

            {{#  if(d.projectSource == '002'){ }}
            <span class="layui-btn layui-btn-normal btn-eva" lay-event="edit3">项目评价</span>
            {{#  } else { }}
            <span class="layui-btn layui-btn-normal btn-eva" lay-event="edit3">评价实施人员</span>
            {{#  } }}

        {{#  } }}
    {{#  } else { }}
    <!--关于市场人员   需方项目发布人-->
    {{#  if(d.evaCreaterId != null){ }}
    <span class="layui-btn layui-btn-primary" lay-event="edit2">查看市场评价</span>
    {{#  } else { }}
    <span class="layui-btn layui-btn-normal btn-eva" lay-event="edit3">评价市场人员</span>
    {{#  } }}
    {{#  } }}
    {{#  } else { }}
    <!--如果resource是 '003' 代表是自行注册的账号   或者是创建项目后生成的账号经过完善资料的账号,总之就是第三方的  统称外部机构   这种情况只显示一行,只显示一个供方就可以了-->
    {{#  if(d.source == '003'){ }}
    {{#  if(d.evaManagerId != null){ }}
    <span class="layui-btn layui-btn-primary" lay-event="edit2">查看供方评价</span>
    {{#  } else { }}
    <span class="layui-btn layui-btn-normal btn-eva" lay-event="edit3">评价供方</span>
    {{#  } }}
    {{#  } else { }}
    {{#  } }}
    {{#  } }}
</script>
<script type="text/html" id="pingjia">
    {{#  if(d.source == '001'){ }}
    <!--  source 001   aindex 1   实施人员   -> 监理项目经理  -->
    {{#  if(d.aindex == '1'){ }}
    <!--关于实施人员   监理项目经理-->
    {{#  if(d.evaManagerId != null){ }}
    <span>已评价</span>
    {{#  } else { }}
    <span>未评价</span>
    {{#  } }}
    {{#  } else { }}
    <!--  source 001    aindex 2   市场人员    项目发布人-->
    {{#  if(d.evaCreaterId != null){ }}
    <span>已评价</span>
    {{#  } else { }}
    <span>未评价</span>
    {{#  } }}
    {{#  } }}
    {{#  } else { }}
    <!--source 003   供方   监理项目经理-->
    {{#  if(d.source == '003'){ }}
    {{#  if(d.evaManagerId != null){ }}
    <span>已评价</span>
    {{#  } else { }}
    <span>未评价</span>
    {{#  } }}
    {{#  } else { }}
    {{#  } }}
    {{#  } }}
</script>
<script type="text/html" id="pingjia2">
    {{#  if(d.source == '001'){ }}
    <!--  source 001   aindex 1   实施人员   -> 监理项目经理  -->
    {{#  if(d.aindex == '1'){ }}
    <!--关于实施人员   监理项目经理-->
    {{#  if(d.evaManagerId != null){ }}
    <span>已评价</span>
    {{#  } else { }}
    <span>未评价</span>
    {{#  } }}
    {{#  } else { }}
    <!--  source 001    aindex 2   市场人员    项目发布人-->
    {{#  if(d.evaCreaterId != null){ }}
    <span>已评价</span>
    {{#  } else { }}
    <span>未评价</span>
    {{#  } }}
    {{#  } }}
    {{#  } else { }}
    <!--source 003   供方   监理项目经理-->
    {{#  if(d.source == '003'){ }}
    {{#  if(d.evaManagerId != null){ }}
    <span>已评价</span>
    {{#  } else { }}
    <span>未评价</span>
    {{#  } }}
    {{#  } else { }}
    {{#  } }}
    {{#  } }}
</script>
<script type="text/html" id="pingjia3">
    {{#  if(d.source == '001'){ }}
    <!--  source 001   aindex 1   实施人员   -> 监理项目经理  -->
    {{#  if(d.aindex == '1'){ }}
    <!--关于实施人员   监理项目经理-->
    {{#  if(d.evaManagerId != null){ }}
    <span>已评价</span>
    {{#  } else { }}
    <span>未评价</span>
    {{#  } }}
    {{#  } else { }}
    <!--  source 001    aindex 2   市场人员    项目发布人-->
    {{#  if(d.evaCreaterId != null){ }}
    <span>已评价</span>
    {{#  } else { }}
    <span>未评价</span>
    {{#  } }}
    {{#  } }}
    {{#  } else { }}
    <!--source 003   供方   监理项目经理-->
    {{#  if(d.source == '003'){ }}
    {{#  if(d.evaManagerId != null){ }}
    <span>已评价</span>
    {{#  } else { }}
    <span>未评价</span>
    {{#  } }}
    {{#  } else { }}
    {{#  } }}
    {{#  } }}
</script>
<script type="text/javascript" src="${re.contextPath}/pageoffice.js" id="po_js_main"></script>
<script>
    //注意进度条依赖 element 模块，否则无法进行正常渲染和功能性操作
    var element = "",layer = parent.layer;
    layui.use('element', function () {
        element = layui.element;
        all();
    });

    //判断是否被评价,如果评价放入已评价,反之到未评价
    element.on('tab(docDemoTabBrief)', function (data) {
        if (data.index === 0) {
            all();
        } else if (data.index === 1) {
            evaled();
        } else if (data.index === 2) {
            ueval();
        }
    });


    //全部显示
    function all() {
        layui.use('table', function () {
            table = layui.table, element = layui.element;
            //方法级渲染
            tableIns = table.render({
                elem: '#tab_eval',
                url: '/zx/projectManager/evalistLevel',
                cols: [[
                    {field: 'spName', title: '项目名称', width: '40%', align: 'left', sort: false},
                    {field: 'speLevel', title: '状态', width: '29.9%', align: 'left', templet: '#pingjia', sort: false},
                    {field: 'speRemark', title: '操作', width: '30%', align: 'left', toolbar: "#barDemo"}
                ]],
                page: true,
                done: function (res, curr, count) {
                    // clearSame(res);
                    $(".layui-table-page select").css("width","73px");
                    merge(res, 'all');
                }
            });
        });
    }

    //显示待评价
    function evaled() {
        layui.use('table', function () {
            table = layui.table;
            element = element;
            //方法级渲染
            tableIns = table.render({
                elem: '#tab_eval2',
                url: '/zx/projectManager/evalistLevel',
                where: {spType: '0'},
                cols: [[
                    {field: 'spName', title: '项目名称', width: '40%', align: 'left', sort: false},
                    {field: 'speLevel', title: '状态', width: '29.9%', align: 'left', templet: '#pingjia2', sort: false},
                    {field: 'speRemark', title: '操作', width: '30%', align: 'left', toolbar: "#barDemo2"}
                ]],
                page: true,
                done: function (res, curr, count) {
                    // clearSame(res);
                    $(".layui-table-page select").css("width","73px");
                    merge(res, 'dpj');
                }
            });
        });
    }

    //显示已评价
    function ueval() {
        layui.use('table', function () {
            table = layui.table;
            element = element;
            //方法级渲染
            tableIns = table.render({
                elem: '#tab_eval3',
                url: '/zx/projectManager/evalistLevel',
                where: {spType: '1'},
                cols: [[
                    {field: 'spName', title: '项目名称', width: '40%', align: 'left', sort: false},
                    {field: 'speLevel', title: '状态', width: '29.9%', align: 'left', templet: '#pingjia3', sort: false},
                    {field: 'speRemark', title: '操作', width: '30%', align: 'left', toolbar: "#barDemo3"}
                ]],
                // cols: [[
                //     {
                //         title: '序号', width: '5%', templet: function (res) {
                //             return res.LAY_INDEX;
                //         }
                //     },
                //     {field: 'spName', title: '项目名称', width: '45%', align: 'left', sort: false},
                //     {field: 'speLevel', title: '评价', width: '40%', align: 'left', templet: '#pingjia', sort: false},
                //     {field: 'speRemark', title: '去评价', width: '10%', align: 'left', toolbar: "#barDemo2"},
                //     {field: 'speReason'}
                // ]],
                page: true,
                done: function (res, curr, count) {
                    $(".layui-table-page select").css("width","73px");
                    merge(res, 'ypj');
                }
            });
        });
    }


    //监听全部工具条
    table.on('tool(allEval)', function (obj) {
        var data = JSON.stringify(obj.data);
        if (obj.event === 'edit3') {
            //打开评价页面:
            var w = ($(parent.window).width()*0.9);
            var h = ($(parent.window).height()*0.9);
            localStorage.removeItem("evadata");
            localStorage.setItem("evadata", data);
                layer.open({
                    type: 2,
                    title: false,
                    closeBtn: 0, //不显示关闭按钮
                    shade: 0.8,
                    area: [w+'px',h+'px'],
                    content: '/zx/projectManager/evaluationForm', //iframe的url，no代表不显示滚动条
                    end: function () {
                        reloadCurrentTable();
                    }
                });
            // layer.alert('' + JSON.stringify(data))

        } else if (obj.event == 'edit2') {
            //打开文档:
            var speid = '';
            if ((obj.data.source == '001' && obj.data.aindex == '1') || obj.data.source == '003') {
                speid = obj.data.evaManagerId;
            } else if (obj.data.source == '001' && obj.data.aindex == '2') {
                speid = obj.data.evaCreaterId;
            }
            if (speid && speid != '') {
                POBrowser.openWindowModeless('/zx/office/openword?ft=5&source=' + obj.data.source + '&aindex=' + obj.data.aindex + '&speid=' + speid, '{}')
            }
        }
    });


    //监听已评价工具条
    table.on('tool(eval)', function (obj) {
        var data = JSON.stringify(obj.data);
        if (obj.event === 'edit3') {
            //打开评价页面:
            var w = ($(parent.window).width()*0.9);
            var h = ($(parent.window).height()*0.9);
            localStorage.removeItem("evadata");
            localStorage.setItem("evadata", data);
                layer.open({
                    type: 2,
                    title: false,
                    closeBtn: 0, //不显示关闭按钮
                    shade: 0.8,
                    area: [w+'px',h+'px'],
                    content: '/zx/projectManager/evaluationForm', //iframe的url，no代表不显示滚动条
                    end: function () {
                        reloadCurrentTable();
                    }
                });
            // layer.alert('' + JSON.stringify(data))

        } else if (obj.event == 'edit2') {
            //打开文档:
            var speid = '';
            if ((obj.data.source == '001' && obj.data.aindex == '1') || obj.data.source == '003') {
                speid = obj.data.evaManagerId;
            } else if (obj.data.source == '001' && obj.data.aindex == '2') {
                speid = obj.data.evaCreaterId;
            }
            if (speid && speid != '') {
                POBrowser.openWindowModeless('/zx/office/openword?ft=5&source=' + obj.data.source + '&aindex=' + obj.data.aindex + '&speid=' + speid, '{}')
            }
        }
    });


    //监听未评价工具条
    table.on('tool(uEval)', function (obj) {
        var data = JSON.stringify(obj.data);
        if (obj.event === 'edit3') {
            //打开评价页面:
            var w = ($(parent.window).width() * 0.9);
            var h = ($(parent.window).height()*0.9);
            localStorage.removeItem("evadata");
            localStorage.setItem("evadata", data);
                layer.open({
                    type: 2,
                    title: false,
                    closeBtn: 0, //不显示关闭按钮
                    shade: 0.8,
                    area: [w+'px',h+'px'],
                    content: '/zx/projectManager/evaluationForm', //iframe的url，no代表不显示滚动条
                    end: function () {
                        reloadCurrentTable();
                    }
                });
            // layer.alert('' + JSON.stringify(data))

        } else if (obj.event == 'edit2') {
            //打开文档:
            var speid = '';
            if ((obj.data.source == '001' && obj.data.aindex == '1') || obj.data.source == '003') {
                speid = obj.data.evaManagerId;
            } else if (obj.data.source == '001' && obj.data.aindex == '2') {
                speid = obj.data.evaCreaterId;
            }
            if (speid && speid != '') {
                POBrowser.openWindowModeless('/zx/office/openword?ft=5&source=' + obj.data.source + '&aindex=' + obj.data.aindex + '&speid=' + speid, '{}')
            }
        }

    });

    function merge(res, type) {
        // console.log($(res));
        var data = res.data;
        var mergeIndex = 0;//定位需要添加合并属性的行数
        var mark = 1; //这里涉及到简单的运算，mark是计算每次需要合并的格子数
        var columsName = ['spId'];//需要合并的列名称
        var columsIndex = [0];//需要合并的列索引值
        for (var k = 0; k < columsName.length; k++) { //这里循环所有要合并的列
            var trArr = $(".layui-tab-item.layui-show").find(".layui-table-body>.layui-table").find("tr");//所有行
            for (var i = 1; i < res.data.length; i++) { //这里循环表格当前的数据
                var tdCurArr = trArr.eq(i).find("td").eq(columsIndex[k]);//获取当前行的当前列
                var tdPreArr = trArr.eq(mergeIndex).find("td").eq(columsIndex[k]);//获取相同列的第一列
                if (data[i][columsName[k]] === data[i - 1][columsName[k]]) { //后一行的值与前一行的值做比较，相同就需要合并
                    mark += 1;
                    tdPreArr.each(function () {//相同列的第一列增加rowspan属性
                        $(this).attr("rowspan", mark);
                    });
                    tdCurArr.each(function () {//当前行隐藏
                        $(this).css("display", "none");
                    });
                } else {
                    mergeIndex = i;
                    mark = 1;//一旦前后两行的值不一样了，那么需要合并的格子数mark就需要重新计算
                }
            }
            mergeIndex = 0;
            mark = 1;
        }
    }

    function clearSame(res) {
        var data = res.data;
        var mergeIndex = 0;//定位需要添加合并属性的行数
        var mark = 1; //这里涉及到简单的运算，mark是计算每次需要合并的格子数
        var columsName = ['spId'];//需要合并的列名称
        var sourceName = ['source'];
        var columsIndex = [0];//需要合并的列索引值
        for (var k = 0; k < columsName.length; k++) { //这里循环所有要合并的列
            var trArr = $(".layui-table-body>.layui-table").find("tr");//所有行
            for (var i = 1; i < res.data.length; i++) { //这里循环表格当前的数据
                var tdCurArr = trArr.eq(i).find("td").eq(columsIndex[k]);//获取当前行的当前列
                var tdPreArr = trArr.eq(mergeIndex).find("td").eq(columsIndex[k]);//获取相同列的第一列
                if (data[i][columsName[k]] === data[i - 1][columsName[k]]) { //后一行的值与前一行的值做比较，相同就需要合并
                    //平台注册的账号
                    if (data[i][sourceName[k]] != '001') {
                        tdCurArr.each(function () {//当前行隐藏
                            $(this).parent().css("display", "none");
                        });
                    }
                } else {

                }
            }
            mergeIndex = 0;
            mark = 1;
        }
    }

    function reloadCurrentTable(){
        setTimeout(function(){
            var tableFilter = $(".layui-this").attr('tablefilter');
            layui.table.reload(''+tableFilter);
        },5000);
    }
</script>
</body>
</html>
